看了前幾篇的文章之後,不知道讀者是不是迫不及待想試用看看這個 SDK 了呢?
筆者的這個專案是開放原始碼,專案網址位於 https://github.com/taichunmin/chameleon-ultra.js
在專案的 README.md 上筆者提供了兩種使用這個 SDK 的方法,第一種方法是在瀏覽器上使用 script tag 把 SDK 放到網頁內,第二種方法是使用 Node.js 加上套件管理工具安裝,然後再使用 require 或 import 的方式引入。
接下來筆者將會一一介紹這幾種使用方法。
如果想直接在瀏覽器上面使用,你會需要使用 <script>
把 SDK 放到網頁內,這些程式碼建議放在 <body>
結束之前:
<!-- chameleon-ultra.js require lodash@4, place before any chameleon-ultra libraries -->
<script src="https://cdn.jsdelivr.net/npm/lodash@4/lodash.min.js"></script>
<!-- chameleon-ultra.js Core -->
<script src="https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/dist/iife/index.min.js"></script>
<!-- chameleon-ultra.js Crypto1 -->
<script src="https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/dist/iife/Crypto1.min.js"></script>
<!-- chameleon-ultra.js WebbleAdapter plugin -->
<script src="https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/dist/iife/plugin/WebbleAdapter.min.js"></script>
<!-- chameleon-ultra.js WebserialAdapter plugin -->
<script src="https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/dist/iife/plugin/WebserialAdapter.min.js"></script>
然後你就可以在底下再加上 <script>
(一樣需放在 <body>
結束之前),然後在裡面使用 ChameleonUltraJS
這個全域變數了:
const { Buffer, ChameleonUltra, WebbleAdapter, WebserialAdapter } = window.ChameleonUltraJS
const ultraUsb = new ChameleonUltra()
ultraUsb.use(new WebserialAdapter())
const ultraBle = new ChameleonUltra()
ultraBle.use(new WebbleAdapter())
然後我們可以嘗試取得 Chameleon Ultra 的版本資訊及 Git 版本:
async function main (ultra) {
console.log(await ultra.cmdGetAppVersion())
console.log(await ultra.cmdGetGitVersion())
}
main(ultraUsb)
main(ultraBle)
使用套件管理工具來安裝 SDK:
# 使用 npm 安裝
$ npm install chameleon-ultra.js
# 使用 yarn 安裝
$ yarn add chameleon-ultra.js
如果你要使用 SerialPort 來連接 Chameleon Ultra,你需要額外安裝 serialport
套件:
# 使用 npm 安裝
$ npm install serialport
# 使用 yarn 安裝
$ yarn add serialport
然後你就可以建立一個 index.js
檔案,把 SDK 透過 import
或是 require
引用到你的程式碼中:
// import
import { Buffer, ChameleonUltra } from 'chameleon-ultra.js'
import WebbleAdapter from 'chameleon-ultra.js/plugin/WebbleAdapter'
import WebserialAdapter from 'chameleon-ultra.js/plugin/WebserialAdapter'
import SerialPortAdapter from 'chameleon-ultra.js/plugin/SerialPortAdapter'
// require
const { Buffer, ChameleonUltra } = require('chameleon-ultra.js')
const WebbleAdapter = require('chameleon-ultra.js/plugin/WebbleAdapter')
const WebserialAdapter = require('chameleon-ultra.js/plugin/WebserialAdapter')
const SerialPortAdapter = require('chameleon-ultra.js/plugin/SerialPortAdapter')
然後我們可以嘗試取得 Chameleon Ultra 的版本資訊及 Git 版本:
const ultra = new ChameleonUltra()
ultra.use(new SerialPortAdapter())
console.log(await ultra.cmdGetAppVersion())
console.log(await ultra.cmdGetGitVersion())
完整的程式碼範例網址為 https://github.com/taichunmin/chameleon-ultra.js/blob/master/src/example/serialport.ts